import { userAccountLogin } from '@/api/user'

// 用户信息管理模块
const user = {
  namespaced: true,
  state: () => ({
    profile: {
      id: '',
      account: '',
      nickname: '',
      avatar: '',
      token: '',
      mobile: ''
    }
  }),
  mutations: {
    setUser (state, useInfo) {
      state.profile = useInfo
    },
    // 清除操作
    clearUserInfo (state) {
      state.profile = {}
    }
  },
  actions: {
    // 异步函数  调用登录接口
    asyncLogin (ctx, { account, password }) {
      return new Promise((resolve) => {
        // 1. 调用登录接口
        userAccountLogin({ account, password }).then(res => {
          // 2. 拿到数据调用mutation函数把数据存入state
          ctx.commit('setUser', res.data.result)
          resolve()
          // 这里就放置数据操作  不放置任何业务逻辑操作
        })
      })
    }
  },
  getters: { }
}

export default user
